13 research outputs found

    Exploring software practitioners perceptions and experience in requirements reuse : a survey in Malaysia

    Get PDF
    In Software Product Lines (SPL) development, reuse process is planned ahead of time, while in traditional software development reuse can occur opportunistically: unplanned or in ad hoc manner. Although many research efforts in SPL focus on issues related to architecture, designs and codes reuse, research on requirements reuse has received slightly less attention from researchers and practitioners. Requirements Reuse (RR) in SPL is the process of systematically reusing previously defined and validated requirements for an earlier software product and applying them to a new and slightly different product within a similar domain. This paper presents a survey pertaining to RR practice that was conducted in Malaysia with two objectives: a) to identify the factors influencing software practitioners in RR, and b) to assess the factors hindering software practitioners from reusing requirements in software development. The survey results have confirmed seven factors that can influence RR practice in Malaysia. The survey results have also revealed three main impediments to RR practice in Malaysia: the unavailability of RR tools or framework to select requirements for reuse, the conditions of existing requirements to be reused (incomplete, poorly structured or not kept updated), and the lack of awareness and RR education among software practitioners pertaining to the systematic R

    Terms extractions: an approach for requirements reuse

    Get PDF
    This paper presents a solution to a requirements reuse problem that utilises natural language processing and information retrieval technique. We proposed a semi-automated approach to extract the software features from online software review to assist the process to reuse natural language requirements. We have conducted an experiment to compare the manual feature extraction versus the semi-automated feature extraction. We used compilations of software review from the Internet as a source of this extraction process. The extracted software features are compared against the features obtained manually by human and the evaluation results obtained in terms of time, precision, recall, and F-Measure indicate a promising result

    Accommodating student's learning experience through personalized learning style adaptation in computer programming course at Centre for Foundation Studies, IIUM

    Get PDF
    Teaching and learning computer programming can be difficult, especially for beginners. Since they are not exposed to any computer programming experience, they may face difficulties if the teaching approaches do not match with their learning styles. Computer programming requires the students to understand logical reasoning and syntax and be able to apply them practically for solving programming problems in nearly all disciplines. Mitra [1] claims that most students feel computer programming is a challenging intellectual exercise. At Centre for Foundation Studies, foundation students encounter difficulties in learning and applying computer programming concepts. Some of them perform better in other science subjects, but find difficulties in grasping the computer programming concepts. In this research, we have used Felder-Solomon Learning Style Inventory to identify C Programming’s students for their preferred learning styles. The result of the survey shows that the Engineering/Computer Science students came from mixed learning styles. Therefore, we have adapted Felder-Solomon’s learning style model, and come out with a model of three hybrid categories. This paper will provide detail suggestions for an online learning system based on a selected topic in C Programming. The system will accommodate the students’ learning style in accordance to the modified Felder-Solomon’s learning style model. As a significant contribution to programming educations, our suggestions may further be adopted for designing personalized learning for other disciplines

    A data modeling conceptual framework for ubiquitous computing based on context awareness

    Get PDF
    This paper introduces a framework for data modeling to support ubiquitous computing based on context-awareness.  Data always grow in term of volume, variety, velocity, and value. The problem arises when it grows exponentially. Consequently, data is anywhere and requirements change in early data definitions then data design become not as the plan.  Therefore, suitable approach with new paradigm and methods of data modeling needs to be enhanced to solve the problems in the real world. Data model must consider the active object that related to each other. Any objects may interact with each other in a ubiquitous way and recorded in digital technology. Sensors, actuator devices, and radio frequency identification technology may support communication between objects through ubiquitous computing. The data model in Ubiquitous Computing needs to restructure to become active and dynamic.  Ubiquitous computing is a model that enable all objects around the people to communicate and invisible. In order to support this paradigm, a new perspective of how data are designed and stored on each object is needed. Furthermore, using ubiquitous computing, the pervasive network can request and response information, which means the devices may communicate and has the initiative to solve a problem without human intervention.  Human wants more intelligence objects. Therefore, more sensors and memory are required. Data structures need to enhance or embedded into any devices that interact with the human

    Programming in C for foundation

    Get PDF
    This book on C programming language is a comprehensive tutorial and reference to C based on the ANSI C standard for beginners. The C language is demonstrated with numerous examples and extensive exercises that guide readers through each concept. Step-by-step of program code reveal the underlying logic of the programs and include in-depth implementation details. Features in this book include comprehensive programming examples and exercises; and an expanded appendix of Numbering System, ASCII Code, and DevC++ tutorial. In addition, there is more emphasis on variable Data Types, which provides the reader with a foundation for working with variables and facilitates programming in the problem domain. Beginners’ programmers alike will benefit from the numerous examples and extensive exercises developed to guide readers through each concept. Program codes illuminate the correct usage and syntax of C language and reveal the underlying logic of application. The clarity of exposition and format of the book make it an excellent reference to first step programmers. It is intended for use in either a foundation level or first year programming course. Chapter 1, "Introduction to C programming," presents an overview of the language. After reading this chapter, the reader will already be able to describe the program development life cycle and write C code. Chapter 2, "Fundamentals of C" gives a thorough introduction to the data in C programs. This information will benefit the reader needing to declare assign and initialize data variables. Small but useful examples are provided to describe important technical points. Chapter 3 has a careful discussion of “Control Structures” which is often a mystifying topic for the beginner. The chapter describes logical and relational operations, if-else and switches selection, and the iterations (while, do-while, and for lops). Chapter 4 “Modularity using functions” identifies the two types of functions in C the built-in and user defined functions. Chapters 5 and 6 cover the application level of C language feature by feature. Many advanced topics of “Arrays” and “Strings” are discussed. Search and sort as well as passing arrays between functions are demonstrated in chapter 5 the longest chapter in the book. The use of strings is illustrated in Chapter 6. The chapter demonstrates the concept of character and strings functions. Since the chapters are self-contained, the knowledgeable reader can skip to particular sections as needed

    Extracting software features from online reviews to demonstrate requirements reuse in software engineering

    Get PDF
    Software Product Lines Engineering is a systematic approach towards realizing software reuse.Among important artifacts to be reused includes requirements, architectures, source codes, designs or even test plans.Requirements reuse if done systematically can expedite the time to market, improve productivity and reduce laborious work. This paper presents the results from an experiment conducted on extracting features from online software reviews to demonstrate our proposed solution to requirements reuse problem.Fifty two software reviews from seven software categories are used as the test data.The automated process proposed is compared to the manual process and the results from experiment indicates significant improvements in terms of time efficiency and F-Measure

    Feature extraction from natural language to aid requirements reuse in software product lines engineering / Noor Hasrina Bakar

    Get PDF
    Product Lines Engineering (SPLE) is a systematic approach towards realising software reuse. Among important software assets to be reused includes architectural documents, test cases, source codes and also requirements. Requirements Reuse (RR) in SPLE is the process of systematically reusing previously defined requirements for an earlier software product and applying them to a new, slightly different product within similar domain. SRS documents are not easily accessible, therefore many researchers in this area opted to use other forms of requirements including product brochures, user manuals and software reviews when SRS is not available. Unfortunately, to extract reusable features from natural language requirements for reuse is not easy. This task if done manually can be very complicated, expensive, and error-prone on the results. Many research efforts in SPLE focused on issues related to architectures, designs and code reuse, but research on requirements reuse has received slightly less attention from researchers and practitioners. Results from an exploratory survey gathered among SE practitioners indicated that the main impediments for RR practice includes the unavailability of RR tools or models for adoption, the conditions of existing requirements to be reused (incomplete, poorly structured, or not kept updated), and the lack of awareness among software practitioners pertaining to the systematic RR. Additionally, a Systematic Literature Review (SLR) conducted for feature extraction approaches for RR in SPLE reveals that there is a mixture of automated and semi-automated approaches from data mining and information retrieval, with only some approaches coming with support tools. This SLR also reveals that most of the support tools proposed in the selected studies are not made available publicly and thus making it hard for practitioners’ adoption. Motivated by these findings, this research proposes a process model for feature extractions from natural language requirements for reuse (FENL). FENL consists of four main phases: Accessing Requirements, Terms Extraction, Feature Identification and Formation of Feature Model. The proposed model is demonstrated through lab experiment and online software reviews are used as the input. In phase 1, software reviews are fetched from the Internet. Then, in phase 2, these reviews undergo text pre-processing stage. In phase 3, Latent Semantic Analysis (LSA) and tfidf term weighting are used in order to determine document relatedness. Then, linguistic tagging is applied to extract software features followed by applying simple clustering algorithms to form groups of common features. In phase 4, the common features that are grouped together are passed to the feature modelling process and manual feature diagram are constructed as the final output. The extraction results from the proposed semi-automated extraction is compared with the one obtained by the manual extraction procedure performed by teachers and software practitioner. Comparisons are made in terms of accuracy metrics (precision, recall and F-Measure), and time efficiency. The proposed approach obtained a recall of up to 85.95% (78.03% average) and a precision of up to 80.16% (58.63% average), when evaluated against the truth data set created manually. Additionally, when comparing with the related works, FENL results to obtain a comparable FMeasure

    An effectiveness study on incorporating gagne's nine events in computer programming easy-to-read text at Centre for Foundation Studies, International Islamic University of Malaysia

    No full text
    Centre for Foundation Studies is a direct feeder to the undergraduate program at International Islamic University of Malaysia (IIUM). SEF1514/ IFF1444 – C Programming is one of the required subjects for Sciences Programme students to pass. This paper discusses the identified challenges that lead to unfavourable performance among the foundation students who enrolled in C Programming course, and the proposed method to overcome these. Few scholars mentioned that students’ main weaknesses in programming subjects are their lack of problem solving capability and insufficient analytical thinking skill [1] & [2]. Mitra, in her work, mentioned that most students feel that programming is a challenging intellectual exercise [3]. In addition to the above-mentioned problems with learning computer programming, we also found out that foundation students have difficult time dealing with the materials used for the course. To them, computer programming textbooks are too burdensome, and too complex to understand. From the study conducted here at IIUM, good and comprehensive materials seemed to be costly, and most of the students (majority are non-computer related majors) opted not to purchase the materials, and relied mostly on lectures during class meetings. As an initiative to improve the students’ performance in the course, a group of lecturers teaching C Programming at the centre came out with an Easy-to-Read textbook that followed closely Robert Gagne’s Nine Events of Instructions. Gagne is considered to be the foremost researcher and contributor to the systematic approach to instructional design and training. Gagne and his followers are known as behaviourists, and their focus is on the outcomes - or behaviours - that result from training [4]. After two semesters of using this Easy-to-Read textbook for conducting the course at this centre, a positive improvement to students’ results was observed. This paper analyses students’ results for the course at IIUM before the introduction of the Easy-to-Read textbook and after it was introduced. Results from survey conducted on the students in evaluating the effectiveness of Gagne’s Instructional Design approach used in the Easy-to-Read textbook, will also be tabulated and discussed. At the end of this paper, suggestions for further improvement to the Easy-to-Read textbook will be provided as a continuous effort to enhance students’ learning experience in C Programming course

    Feature extraction approaches from natural language requirements for reuse in software product lines: a systematic literature review

    No full text
    Requirements for implemented system can be extracted and reused for a production of a new similar system. Extraction of common and variable features from requirements leverages the benefits of the software product lines engineering (SPLE). Although various approaches have been proposed in feature extractions from nat- ural language (NL) requirements, no related literature review has been published to date for this topic. This paper provides a systematic literature review (SLR) of the state-of-the-art approaches in feature extractions from NL requirements for reuse in SPLE. We have included 13 studies in our synthesis of evidence and the results showed that hybrid natural language processing approaches were found to be in common for overall feature extraction process. A mixture of automated and semi-automated feature clustering approaches from data mining and information retrieval were also used to group common features, with only some approaches coming with support tools. However, most of the support tools proposed in the selected studies were not made available publicly and thus making it hard for practitioners’ adoption. As for the evaluation, this SLR reveals that not all studies employed software metrics as ways to validate experiments and case studies. Finally, the quality assessment conducted confirms that practitioners’ guidelines were absent in the selected studies
    corecore